package daytwo;
/*这里 是先对  递归 有个简单的认识 
 * 求递归的 复杂度   有个 master 公式   到时候看看把  
 * 1. 求数组中的最大值  递归来写:
 * 
 */
public class Recursion {
	
	
	public static int getMax(int arr[]) {
		return process(arr,0,arr.length-1);
	}
	//有i点 树形 DP 的感觉了 说实话
	public static int process(int arr[],int l,int r) {
		if(l==r) {
			return arr[l];
		}
		// 这里可能 细心的话 还要 考虑一下 溢出的问题 
		// l+(r-l)>>1;   r-l= distance
		int mid=(l+r)>>1;
		//  类似于 树形DP 
		int lMax=process(arr,l,mid);
		int rMax=process(arr,mid,r);
		return Math.max(lMax, rMax);
	}
}
